package com.itheima.homework;

/**
 * @Author 王加鑫
 * @Date 2021/4/22 19:21
 * @Version 1.0
 * 11、【编号：606】 设计一个方法，用于比较两个相同数据类型数组的内容是否相同。
 */
public class Day05HomeWork11 {
    public static void main(String[] args) {
        int[] arr1 = {10,30,20,40};
        int[] arr2 = {10,20,30,40};
        System.out.println(decideArray(arr1,arr2));;
        System.out.println(ifArray(arr1,arr2));

    }

    /*
    比较的仅仅是数组内容,无关顺序
     */
    public static boolean decideArray(int[] arr1,int[] arr2){
        /*
        首要条件,判断数组长度是否相同
         */
        int count = 0;
        if(arr1.length == arr2.length){
            //给个标记假设数组内容相等
            for (int i = 0; i < arr1.length; i++) {
                for (int j = 0; j < arr2.length; j++) {
                    /*
                    让arr2数组中的每个元素跟arr1数组中的元素做比较
                    如果相同count+1
                     */
                    if(arr1[i] == arr2[j]){
                        count++;
                        /*
                        break防止arr2数组中有两个相同数值
                        重复跟arr1数组中的值做比较,一旦发现
                        本次循环中有相等数值时就终止循环
                         */
                        break;
                    }
                }
            }
        }
        System.out.println("count"+count);
        if(count == arr1.length){
            return true;
        }
        return false;
    }

    /*
    比较的是相同顺序,相同内容的数组,顺序不同都算是错误
     */
    public static boolean ifArray(int[] arr1,int[] arr2){
        /*
        如果数组长度不同,直接判断内容不同
         */
        if(arr1.length != arr2.length){
            return false;
        }

        /*
        如果两个数组相同索引值下的元素不同判断为内容不同
         */
        for (int i = 0; i < arr1.length; i++) {
            if(arr1[i] != arr2[i]){
                return false;
            }
        }

        return true;

    }
}
